package com.xingkeduo.model.vo;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.xingkeduo.model.po.TMarketingRelevant;
import com.xingkeduo.util.Constant;

public class MarketingResponseVo {
    /** 主键*/
    private Long id;

    /** 类型 0 券，1 卡，2 券包*/
    private Integer marketingType;

    /** 服务类型 
优惠券
GENERAL_COUPON：优惠券， GIFT：兑换券， DISCOUNT：折扣券， CASH：代金券，  GROUPON：团购券 ，FIXED:一口价，FREE:免费券
FREQUENCY：服务次卡，*/
    private String serviceType;

    /** 名称*/
    private String name;

    /** 副标题，字数上限为18个汉字。*/
    private String subTitle;

    /** 此优惠卷支持服务ids（0代表全部服务）*/
    private String supportServprodIds;

    private String supportServprodNames;
    
    /** 券包类型 （只适用用券包）1、口碑 2、新美大 3、招行 4、金色世纪 5、京东 6 天猫 7 自有优惠包 8 其他*/
    private Integer couponBagType;

    /** 第三方业务id（只适用用券包）*/
    private String thirdBizId;

    /** 是否开启兑换码兑换 （只适用用券包）0否，1是*/
    private Integer isOpenConvert;

    /** 券面额*/
    private BigDecimal couponAmount;

    /** 使用门槛,如果无起用门槛则填0。示例值:0*/
    private BigDecimal leastCost;

    /** 领取范围 (0 全部用户，1 星客多新用户，2 门店新用户)*/
    private Integer receiveType;

    /** 领取开始时间*/
    private Date receiveStartTime;

    /** 领取结束时间*/
    private Date receiveEndTime;

    /** 此优惠卷使用门店ids（0代表全部店铺）*/
    private String storeIds;

    /** 此优惠卷使用门店名称*/
    private String storeNames;

    /** 使用类型，0 相对时间，1 固定时间 （如 0 则券使用截止时间以券开始时间use_start_time计算，1 以用户实际领取时间计算）*/
    private Integer useType;

    /** 使用开始时间（0 无使用开始时间限制）*/
    private Date useStartTime;

    /** 使用截止周期 单位：天*/
    private Integer usePeriod;
    
    private String weekHourIds;

    /** 卡卷状态--0.初始 1.已上架 2.已下架*/
    private Integer status;
    
    /** 退款类型 （0 退款退券，1 退款不退券）*/
    private Integer refundType;
    
    /** 初始券库存*/
    private Integer stockQuantity;

    /** 当前库存*/
    private Integer surplusQuantity;
    
    /** 优惠承担类型（0 按比例承担，1 按固定金额承担）*/
    private Integer preferentialUndertakeType;

    /** 门店承担金额（配合优惠承担类型使用 ）单位分：如果是比例需要转换成具体金额*/
    private BigDecimal storePreferentialUndertake;

    /** 总部承担金额 （配合优惠承担类型使用 ）单位分：如果是比例需要转换成具体金额*/
    private BigDecimal headquartersPreferentialUndertake;

    /** 成本归属方（部门）*/
    private Long departmentPostId;

    /** 部门名称*/
    private String departmentPostName;

    /** 内部说明（申请原因）*/
    private String applyMemo;

    /** 申请建券人id*/
    private Long applicantId;

    /** 申请人名称*/
    private String applicantName;
    
    private String dayMemo;
    /** 每人每天可领券的数量限制,不填写默认为0。*/
    private Integer getLimitDay;

    /** 每人累计可领券的数量限制,不填写默认为0。*/
    private Integer getLimitTotal;
    
    /** 每人每天使用次数，0无限制*/
    private Integer useLimitDay;
    /** 每人累计使用次数，0无限制*/
    private Integer useLimitTotal;
    /** 使用说明*/
    private String useMomo;
    
    private Date useEndTime;
    
    private String conponStatus;
    
    /** 三方核销门店*/
    private String thirdStoreIds;

    /** 三方核销门店*/
    private String thirdStoreNames;
    
    /** 是否启用售卖0不启用，1启用*/
    private Integer sellEnable;

    /** 售卖价格*/
    private BigDecimal sellPrice;

    /** 售卖门店*/
    private String sellStoreIds;
    
    private String bannerPath = Constant.MARKETING_BANNER_PATH;
    
    private String bannerUrl;
    
    private List<ActivityDaysResponseVo> activityDays;
    
    private List<TMarketingRelevant> marketingRelevants;
    
    private Integer totalQuantity;
    
    private Integer couponCount;
    
    private Integer cardCount;
    
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getMarketingType() {
        return marketingType;
    }

    public void setMarketingType(Integer marketingType) {
        this.marketingType = marketingType;
    }

    public String getServiceType() {
        return serviceType;
    }

    public void setServiceType(String serviceType) {
        this.serviceType = serviceType == null ? null : serviceType.trim();
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public String getSubTitle() {
        return subTitle;
    }

    public void setSubTitle(String subTitle) {
        this.subTitle = subTitle == null ? null : subTitle.trim();
    }

    public String getSupportServprodIds() {
        return supportServprodIds;
    }

    public void setSupportServprodIds(String supportServprodIds) {
        this.supportServprodIds = supportServprodIds == null ? null : supportServprodIds.trim();
    }

    public Integer getCouponBagType() {
        return couponBagType;
    }

    public void setCouponBagType(Integer couponBagType) {
        this.couponBagType = couponBagType;
    }

    public String getThirdBizId() {
        return thirdBizId;
    }

    public void setThirdBizId(String thirdBizId) {
        this.thirdBizId = thirdBizId == null ? null : thirdBizId.trim();
    }

    public Integer getIsOpenConvert() {
        return isOpenConvert;
    }

    public void setIsOpenConvert(Integer isOpenConvert) {
        this.isOpenConvert = isOpenConvert;
    }

    public BigDecimal getCouponAmount() {
        return couponAmount;
    }

    public void setCouponAmount(BigDecimal couponAmount) {
        this.couponAmount = couponAmount;
    }

    public BigDecimal getLeastCost() {
        return leastCost;
    }

    public void setLeastCost(BigDecimal leastCost) {
        this.leastCost = leastCost;
    }

    public Integer getReceiveType() {
        return receiveType;
    }

    public void setReceiveType(Integer receiveType) {
        this.receiveType = receiveType;
    }

    public Date getReceiveStartTime() {
        return receiveStartTime;
    }

    public void setReceiveStartTime(Date receiveStartTime) {
        this.receiveStartTime = receiveStartTime;
    }

    public Date getReceiveEndTime() {
        return receiveEndTime;
    }

    public void setReceiveEndTime(Date receiveEndTime) {
        this.receiveEndTime = receiveEndTime;
    }

    public String getStoreIds() {
        return storeIds;
    }

    public void setStoreIds(String storeIds) {
        this.storeIds = storeIds == null ? null : storeIds.trim();
    }

    public String getStoreNames() {
        return storeNames;
    }

    public void setStoreNames(String storeNames) {
        this.storeNames = storeNames == null ? null : storeNames.trim();
    }

    public Integer getUseType() {
        return useType;
    }

    public void setUseType(Integer useType) {
        this.useType = useType;
    }

    public Date getUseStartTime() {
        return useStartTime;
    }

    public void setUseStartTime(Date useStartTime) {
        this.useStartTime = useStartTime;
    }

    public Integer getUsePeriod() {
        return usePeriod;
    }

    public void setUsePeriod(Integer usePeriod) {
        this.usePeriod = usePeriod;
    }


    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
    
    public String getSupportServprodNames() {
        return supportServprodNames;
    }

    public void setSupportServprodNames(String supportServprodNames) {
        this.supportServprodNames = supportServprodNames == null ? null : supportServprodNames.trim();
    }

	public Integer getRefundType() {
		return refundType;
	}

	public void setRefundType(Integer refundType) {
		this.refundType = refundType;
	}

	public List<ActivityDaysResponseVo> getActivityDays() {
		return activityDays;
	}

	public void setActivityDays(List<ActivityDaysResponseVo> activityDays) {
		this.activityDays = activityDays;
	}

	public List<TMarketingRelevant> getMarketingRelevants() {
		return marketingRelevants;
	}

	public void setMarketingRelevants(List<TMarketingRelevant> marketingRelevants) {
		this.marketingRelevants = marketingRelevants;
	}

	public String getWeekHourIds() {
		return weekHourIds;
	}

	public void setWeekHourIds(String weekHourIds) {
		this.weekHourIds = weekHourIds;
	}

	public Integer getStockQuantity() {
		return stockQuantity;
	}

	public void setStockQuantity(Integer stockQuantity) {
		this.stockQuantity = stockQuantity;
	}

	public Integer getSurplusQuantity() {
		return surplusQuantity;
	}

	public void setSurplusQuantity(Integer surplusQuantity) {
		this.surplusQuantity = surplusQuantity;
	}

	public Integer getPreferentialUndertakeType() {
		return preferentialUndertakeType;
	}

	public void setPreferentialUndertakeType(Integer preferentialUndertakeType) {
		this.preferentialUndertakeType = preferentialUndertakeType;
	}

	public BigDecimal getStorePreferentialUndertake() {
		return storePreferentialUndertake;
	}

	public void setStorePreferentialUndertake(BigDecimal storePreferentialUndertake) {
		this.storePreferentialUndertake = storePreferentialUndertake;
	}

	public BigDecimal getHeadquartersPreferentialUndertake() {
		return headquartersPreferentialUndertake;
	}

	public void setHeadquartersPreferentialUndertake(BigDecimal headquartersPreferentialUndertake) {
		this.headquartersPreferentialUndertake = headquartersPreferentialUndertake;
	}

	public Long getDepartmentPostId() {
		return departmentPostId;
	}

	public void setDepartmentPostId(Long departmentPostId) {
		this.departmentPostId = departmentPostId;
	}

	public String getDepartmentPostName() {
		return departmentPostName;
	}

	public void setDepartmentPostName(String departmentPostName) {
		this.departmentPostName = departmentPostName;
	}

	public String getApplyMemo() {
		return applyMemo;
	}

	public void setApplyMemo(String applyMemo) {
		this.applyMemo = applyMemo;
	}

	public Long getApplicantId() {
		return applicantId;
	}

	public void setApplicantId(Long applicantId) {
		this.applicantId = applicantId;
	}

	public String getApplicantName() {
		return applicantName;
	}

	public void setApplicantName(String applicantName) {
		this.applicantName = applicantName;
	}

	public String getDayMemo() {
		return dayMemo;
	}

	public void setDayMemo(String dayMemo) {
		this.dayMemo = dayMemo;
	}

	public Integer getGetLimitDay() {
		return getLimitDay;
	}

	public void setGetLimitDay(Integer getLimitDay) {
		this.getLimitDay = getLimitDay;
	}

	public Integer getGetLimitTotal() {
		return getLimitTotal;
	}

	public void setGetLimitTotal(Integer getLimitTotal) {
		this.getLimitTotal = getLimitTotal;
	}

	public Integer getUseLimitDay() {
		return useLimitDay;
	}

	public void setUseLimitDay(Integer useLimitDay) {
		this.useLimitDay = useLimitDay;
	}

	public String getUseMomo() {
		return useMomo;
	}

	public void setUseMomo(String useMomo) {
		this.useMomo = useMomo;
	}

	public Date getUseEndTime() {
		return useEndTime;
	}

	public void setUseEndTime(Date useEndTime) {
		this.useEndTime = useEndTime;
	}

	public Integer getUseLimitTotal() {
		return useLimitTotal;
	}

	public void setUseLimitTotal(Integer useLimitTotal) {
		this.useLimitTotal = useLimitTotal;
	}

	public Integer getTotalQuantity() {
		return totalQuantity;
	}

	public void setTotalQuantity(Integer totalQuantity) {
		this.totalQuantity = totalQuantity;
	}

	public String getConponStatus() {
		return conponStatus;
	}

	public void setConponStatus(String conponStatus) {
		this.conponStatus = conponStatus;
	}

	public String getThirdStoreIds() {
		return thirdStoreIds;
	}

	public void setThirdStoreIds(String thirdStoreIds) {
		this.thirdStoreIds = thirdStoreIds;
	}

	public String getThirdStoreNames() {
		return thirdStoreNames;
	}

	public void setThirdStoreNames(String thirdStoreNames) {
		this.thirdStoreNames = thirdStoreNames;
	}

	public String getBannerUrl() {
		return bannerUrl;
	}

	public void setBannerUrl(String bannerUrl) {
		this.bannerUrl = bannerUrl;
	}

	public String getBannerPath() {
		return bannerPath;
	}

	public void setBannerPath(String bannerPath) {
		this.bannerPath = bannerPath;
	}

	public Integer getSellEnable() {
		return sellEnable;
	}

	public void setSellEnable(Integer sellEnable) {
		this.sellEnable = sellEnable;
	}

	public BigDecimal getSellPrice() {
		return sellPrice;
	}

	public void setSellPrice(BigDecimal sellPrice) {
		this.sellPrice = sellPrice;
	}

	public String getSellStoreIds() {
		return sellStoreIds;
	}

	public void setSellStoreIds(String sellStoreIds) {
		this.sellStoreIds = sellStoreIds;
	}

	public Integer getCouponCount() {
		return couponCount;
	}

	public void setCouponCount(Integer couponCount) {
		this.couponCount = couponCount;
	}

	public Integer getCardCount() {
		return cardCount;
	}

	public void setCardCount(Integer cardCount) {
		this.cardCount = cardCount;
	}
}